class C1 {
	public void C1_access_g() {
		g();
	}

	protected void f() {
		System.out.println("C1.f");
	}

	private void g() {
		System.out.println("C1.g");
	}
}

class C2 extends C1 {
	public void f() {
		System.out.println("C2.f");
	}

	public void C2_access_g() {
		g();
	}

	private void g() {
		System.out.println("C2.g");
	}
}

public class Lrn003 {
	public static void main(String[] args) {
		C1 c1 = new C1();
		C2 c2 = new C2();
		c1.f();
		c1.C1_access_g();
		c2.f();
		c2.C2_access_g();
		c2.C1_access_g();
	}
}
